package com.cyzy.service;

import com.cyzy.dto.ChatMessage;
import com.cyzy.dto.ChatSession;

import java.util.List;

/**
 * 聊天会话服务接口
 * @author LIGHT
 */
public interface ChatSessionService {
    /**
     * 创建新会话
     * @param userId 用户ID
     * @return 新创建的会话
     */
    ChatSession createSession(String userId);
    
    /**
     * 获取会话详情
     * @param sessionId 会话ID
     * @return 会话详情
     */
    ChatSession getSession(String sessionId);
    
    /**
     * 获取用户的所有会话
     * @param userId 用户ID
     * @return 会话列表
     */
    List<ChatSession> getUserSessions(String userId);
    
    /**
     * 添加消息到会话
     * @param sessionId 会话ID
     * @param message 消息内容
     * @return 添加后的消息
     */
    ChatMessage addMessage(String sessionId, ChatMessage message);
    
    /**
     * 获取会话的所有消息
     * @param sessionId 会话ID
     * @return 消息列表
     */
    List<ChatMessage> getSessionMessages(String sessionId);
    
    /**
     * 更新会话标题
     * @param sessionId 会话ID
     * @param title 新标题
     * @return 更新后的会话
     */
    ChatSession updateSessionTitle(String sessionId, String title);
    
    /**
     * 删除会话
     * @param sessionId 会话ID
     * @return 是否删除成功
     */
    boolean deleteSession(String sessionId);
} 